import Vue from 'vue'
import Vuex from 'vuex'


import state from './state';
import getters from './getters';
import mutations from './mutations';
import actions from './actions';

import moduleA from './modules/moduleA';
import moduleB from './modules/moduleB';

Vue.use(Vuex)

// vuex优化
// 1. state getters mutations actions  => 模块分离
// 2. 将mutations中的方法名提取到公共文件 types.js => mutations中定义的方法名和action中调用的方法名 ,是一致的
// 3. 定义了initUserInfo 方法 => 调用此方法会生成新的数据

let store = new Vuex.Store({
  state: state,
  getters: getters,
  mutations: mutations,
  actions: actions,
  modules: {
    mdA:moduleA,
    mdB:moduleB,
  }
})

export default store;
